package com.itheima03.day11;

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @author 刘全
 * @date 2021/7/30
 */
public class FileTest4 {
    public static void main(String[] args) {
        //统一一个文件夹中每个文件的个数并打印
        //打印格式如下:
        //txt文件:3个
        //doc文件:4个
        //jpg文件:6个
        File file = new File("D:\\itheima");
        getFilecounts(file);
        System.out.println("每个文件的个数为:");
        Set<Map.Entry<String, Integer>> entry = map.entrySet();
        for (Map.Entry<String, Integer> s : entry) {
            String key = s.getKey();
            Integer value = s.getValue();
            System.out.println(key + "文件:" + value + "个");
        }
    }

    static HashMap<String, Integer> map = new HashMap<>();

    private static void getFilecounts(File src) {
        File[] files = src.listFiles();
        if (files != null) {
            for (File file : files) {
                if (file.isFile()) {
                    String fileName = file.getName();
                    int index = fileName.indexOf(".");
                    String s = fileName.substring(index);
                    if (map.containsKey(s)) {
                        map.put(s, map.get(s) + 1);
                    } else {
                        map.put(s, 1);
                    }
                } else {
                    getFilecounts(file);
                }
            }
        }
    }
}
